import logging
import os.path
import time


class Logging(object):
    def __init__(self, loggername='root'):
        '''''
            指定保存日志的文件路径，日志级别，以及调用文件
            将日志存入到指定的文件中
        '''

        # 创建一个logger
        self.logger = logging.getLogger(loggername)
        #  这里进行判断，如果logger.handlers列表为空，则添加，否则，直接去写日志
        if not self.logger.handlers:
            self.logger.setLevel(logging.DEBUG)
            # 创建一个handler，用于写入日志文件
            rq = time.strftime('%Y-%m-%d', time.localtime(time.time()))
            log_path = os.path.abspath(os.path.dirname(os.path.dirname(__file__))) + '/log/'
            log_name = log_path + rq + '.log'
            formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')  # 输出格式

            fh = logging.FileHandler(log_name)
            fh.setLevel(logging.INFO)
            fh.setFormatter(formatter)
            self.logger.addHandler(fh)

            # 再创建一个handler，用于输出到控制台
            ch = logging.StreamHandler()
            ch.setLevel(logging.INFO)
            ch.setFormatter(formatter)
            self.logger.addHandler(ch)

    def getlog(self):
        return self.logger



